import request from '@/config/axios'

// 交接管理 VO
export interface HandoverManagementVO {
  id: number // 主键ID
  handoverNumber: string // 交接单号
  transferCompany: string // 移交公司
  transferPerson: string // 移交人
  receivingCompany: string // 接收公司
  receiverPerson: string // 接收人
  handoverMethod: string // 交接方式
  createDate: Date // 创建日期
  reason: string // 交接原因及备注
  materialsDetail: string // 交接材料明细
  remark: string // 备注
  files: string // 交接附件
  creator: number // 创建者ID
  creatorName?: string // 创建者姓名
  createTime: Date // 创建时间
  updateTime: Date // 更新时间
  handoverDetails?: HandoverDetailVO[] // 交接明细
}

// 交接明细 VO
export interface HandoverDetailVO {
  id: number // 主键ID
  handoverId: number // 交接单ID
  itemName: string // 物品名称
  specification: string // 规格型号
  quantity: number // 数量
  unit: string // 单位
  status: string // 状态
  remark: string // 备注
}

// 交接管理 API
export const HandoverManagementApi = {
  // 查询交接管理分页
  getHandoverManagementPage: async (params: any) => {
    return await request.get({ url: `/oa/handover-management/page`, params })
  },

  // 查询交接管理详情
  getHandoverManagement: async (id: number) => {
    return await request.get({ url: `/oa/handover-management/get?id=` + id })
  },

  // 新增交接管理
  createHandoverManagement: async (data: HandoverManagementVO) => {
    return await request.post({ url: `/oa/handover-management/create`, data })
  },

  // 修改交接管理
  updateHandoverManagement: async (data: HandoverManagementVO) => {
    return await request.put({ url: `/oa/handover-management/update`, data })
  },

  // 删除交接管理
  deleteHandoverManagement: async (id: number) => {
    return await request.delete({ url: `/oa/handover-management/delete?id=` + id })
  },

  // 导出交接管理 Excel
  exportHandoverManagement: async (params) => {
    return await request.download({ url: `/oa/handover-management/export-excel`, params })
  },

// ==================== 子表（交接附件） ====================

  // 获得交接附件
  getHandoverAttachmentByHandoverId: async (handoverId) => {
    return await request.get({ url: `/oa/handover-management/handover-attachment/get-by-handover-id?handoverId=` + handoverId })
  },


}